home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / bulchk20.zip / BULLCHK.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-05-26  |  4KB  |  252 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Date     DATE002
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   STRING008
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.  
  40. ;------------------------------------------------------------------------------
  41.  
  42.     STRING006 = PPEPath() + "BULLCHK.CFG"
  43.     STRING003 = PPEPath() + "ALLBULL.TXT"
  44.     INTEGER002 = 0
  45.     INTEGER003 = 0
  46.     INTEGER005 = 0
  47.     STRING008 = ""
  48.     If (TokCount() == 0) Then
  49.         Log "Did not detect a command-line bulletin # (BULLCHK.PPE)!", 1
  50.         End
  51.     Endif
  52.     STRING004 = GetToken()
  53.     If (Exist(STRING006)) Then
  54.         FOpen 1, STRING006, 0, 0
  55.         Newlines 2
  56.         SPrintLn "...Loading BULLCHK Records..."
  57.         Newline
  58.         FGet 1, STRING009
  59.         FGet 1, STRING010
  60.         FGet 1, STRING011
  61.         FGet 1, STRING012
  62.         FGet 1, STRING013
  63.         FGet 1, STRING014
  64.         FGet 1, STRING007
  65.         FGet 1, STRING008
  66.         FClose 1
  67.     Else
  68.         Log "BULLCHK.PPE using built-in defaults!", 0
  69.         STRING009 = 5
  70.         STRING010 = 10
  71.         STRING011 = 14
  72.         STRING012 = 15
  73.         STRING013 = 15
  74.         STRING014 = 30
  75.         STRING007 = 5
  76.     Endif
  77.     Newline
  78.     PrintLn "@X0F..Performing Automatic Bulletin Read Update...Please Standby!@X07"
  79.     If (STRING008 == "456ars291") Then
  80.         PrintLn "@X0AREGISTERED Ver. 2.0  @X0B(c) Copyright 1994 @X0Dby Al Segura@X07"
  81.     Else
  82.         PrintLn "@X0CUNREGISTERED Ver. 2.0  @X0B(c) Copyright 1994 @X0Dby Al Segura@X07"
  83.     Endif
  84.     Newline
  85.     GetUser
  86.     INTEGER003 = U_Sec
  87.     INTEGER002 = U_Cmnt1
  88.     INTEGER004 = U_ExpDate
  89.     If ((INTEGER003 >= STRING012) || (INTEGER003 < STRING009)) Then
  90.         End
  91.     Else
  92.         Select Case (INTEGER003)
  93.             Case STRING009
  94.                 INTEGER006 = STRING011
  95.                 INTEGER007 = STRING013
  96.             Case STRING010
  97.                 INTEGER006 = STRING012
  98.                 INTEGER007 = STRING014
  99.             Case STRING011
  100.                 End
  101.             Case Else
  102.                 Log "Invalid user level detected by BULLCHK.PPE!", 1
  103.                 End
  104.             Endif
  105.     End Select
  106.     INTEGER005 = S2I(STRING004, 10)
  107.     STRING002 = I2S(INTEGER002, 2)
  108.     STRING005 = Right(STRING002, INTEGER005)
  109.     STRING005 = Left(STRING005, 1)
  110.     If (STRING005 == 1) End
  111.     Select Case (STRING007)
  112.         Case 5
  113.             STRING007 = 31
  114.         Case 3
  115.             STRING007 = 7
  116.         Case 4
  117.             STRING007 = 15
  118.         Case 2
  119.             STRING007 = 3
  120.         Case 1
  121.             STRING007 = 1
  122.         Case 6
  123.             STRING007 = 63
  124.         Case 7
  125.             STRING007 = 127
  126.         Case 8
  127.             STRING007 = 255
  128.         Case 9
  129.             STRING007 = 511
  130.         Case 10
  131.             STRING007 = 1023
  132.         Case Else
  133.             Log "...Bulletin # invalid (BULLCHK.PPE)!", 1
  134.             End
  135.     End Select
  136.     Select Case (INTEGER005)
  137.         Case 1
  138.             INTEGER002 = INTEGER002 + 1
  139.             Goto LABEL001
  140.         Case 2
  141.             INTEGER002 = INTEGER002 + 2
  142.             Goto LABEL001
  143.         Case 3
  144.             INTEGER002 = INTEGER002 + 4
  145.             Goto LABEL001
  146.         Case 4
  147.             INTEGER002 = INTEGER002 + 8
  148.             Goto LABEL001
  149.         Case 5
  150.             INTEGER002 = INTEGER002 + 16
  151.             Goto LABEL001
  152.         Case 6
  153.             INTEGER002 = INTEGER002 + 32
  154.             Goto LABEL001
  155.         Case 7
  156.             INTEGER002 = INTEGER002 + 64
  157.             Goto LABEL001
  158.         Case 8
  159.             INTEGER002 = INTEGER002 + 128
  160.             Goto LABEL001
  161.         Case 9
  162.             INTEGER002 = INTEGER002 + 256
  163.             Goto LABEL001
  164.         Case 10
  165.             INTEGER002 = INTEGER002 + 512
  166.             Goto LABEL001
  167.     End Select
  168.     Log "...Bulletin # invalid (BULLCHK.PPE)!", 1
  169.     End
  170.     :LABEL001
  171.     U_Cmnt1 = INTEGER002
  172.     If (INTEGER002 == STRING007) Then
  173.         If (Exist(STRING003)) Then
  174.             DispFile STRING003, 0
  175.             Goto LABEL002
  176.         Endif
  177.         Log "Could not find All_Bulletin Read file (BULLCHK.PPE)!", 1
  178.         :LABEL002
  179.         INTEGER004 = INTEGER004 + INTEGER007
  180.         DATE002 = INTEGER004
  181.         U_ExpDate = DATE002
  182.         U_Sec = INTEGER006
  183.         PutUser
  184.         Log "BULLCHK.PPE Upgraded user to Level: " + String(INTEGER006), 1
  185.         End
  186.     Endif
  187.     PutUser
  188.     End
  189.  
  190. ;------------------------------------------------------------------------------
  191. ;
  192. ; Usage report (before postprocessing)
  193. ;
  194. ; ■ Statements used :
  195. ;
  196. ;    9       End
  197. ;    65      Goto 
  198. ;    50      Let 
  199. ;    3       PrintLn 
  200. ;    30      If 
  201. ;    1       DispFile 
  202. ;    1       FOpen 
  203. ;    1       FClose 
  204. ;    8       FGet 
  205. ;    1       GetUser
  206. ;    2       PutUser
  207. ;    7       Log 
  208. ;    3       Newline
  209. ;    1       Newlines 
  210. ;    1       SPrintLn 
  211. ;
  212. ;
  213. ; ■ Functions used :
  214. ;
  215. ;    14      +
  216. ;    27      ==
  217. ;    1       <
  218. ;    1       >=
  219. ;    29      !
  220. ;    1       ||
  221. ;    1       Left()
  222. ;    1       Right()
  223. ;    1       String()
  224. ;    2       PPEPath()
  225. ;    1       GetToken()
  226. ;    2       Exist()
  227. ;    1       I2S()
  228. ;    1       S2I()
  229. ;    1       TokCount()
  230. ;
  231. ;------------------------------------------------------------------------------
  232. ;
  233. ; Analysis flags : W
  234. ;
  235. ; W - Write user ■ 5
  236. ;     Program writes a user record. Although this may be normal for a
  237. ;     User Editor, it may also be a way to modify an account level.
  238. ;     ■ Search for : PUTUSER
  239. ;
  240. ;------------------------------------------------------------------------------
  241. ;
  242. ; Postprocessing report
  243. ;
  244. ;    0       For/Next
  245. ;    0       While/EndWhile
  246. ;    6       If/Then or If/Then/Else
  247. ;    3       Select Case
  248. ;
  249. ;------------------------------------------------------------------------------
  250. ;                 AEGiS Corp - Break the routines, code against the machines!
  251. ;------------------------------------------------------------------------------
  252.